The present invention relates generally to the field of computer graphics and computer generated animation. More specifically, the invention relates to rendering photorealistic images of moving objects modeled with implicit surfaces.
Surfaces of objects to be rendered in computer graphics can be numerically described by different mathematical models. Some surface models, e.g., NURBS (non-uniform rational B-Splines), are most naturally specified in terms of a local parameterization, i.e., a mapping from R2 to R3 in which the parameters, conventionally taken as u and v, serve as local coordinates on the surface and the location in three dimensional object space of a point on the surface is specified as an explicit function of the u and v parameters: x(p)=ƒ1(u, v); y(p)=ƒ2(u, v); z(p)=ƒ3(u, v).
Parametric surface definitions are handy but cumbersome and become more cumbersome when one attempts to model objects of non-trivial topology. To model surfaces which are not topologically equivalent to a sheet, cylinder or torus (or one of its twisted variants, e.g., a Klein bottle), one must explicitly stitch together different parameterization patches. Insuring continuity and smoothness across patch boundaries can be difficult, particularly when animating the models.
An alternative class of mathematical models that have become popular for more efficiently and elegantly modeling organic looking objects with smoothly blended curved surfaces are those defined by implicit functions, i.e., as equipotentials of a scalar field. See, e.g., J. Bloomenthal, et al., Introduction to Implicit Surfaces (1997). Complicated surfaces can be modeled by combining scalar fields that define simpler constituent surface elements. Depending on how one combines the constituent scalar fields, one can obtain surfaces that smoothly blend the constituent shapes, or are the precise union, intersection, or subtraction of the constituents or any combination thereof.
The ability to specify complicated smoothly blended shapes merely by combining simple functions is a key advantage to modeling with implicit surfaces. One is thereby able to both intuitively and efficiently build elegant and complicated surfaces. Inplicit surfaces offer additional advantages in computer generated animation. With implicit surfaces, one can model the motion of a complicated blended surface merely by specifying the motion of its individual constituent objects. In addition, one can easily model surfaces of changing topology. Depending on the distance between constituent objects and the manner in which the field functions are combined, objects will automatically combine and separate. This is particularly useful in modeling the motion of fluids, e.g., splattering raindrops.
The advantage of implicit surface animation, that one can determine the shape of the surface at anytime by merely performing the appropriate combination of field functions of the constituent elements, has the corresponding disadvantage, that one cannot relate a particular point on a surface defined at time t1 to a point on the surface at a different time, t2. Even if the motion of points on the constituent surfaces is specified (which in some cases is more information than is needed to model the surface which requires only the constituent field functions as a function of time), it is far from obvious how to determine the motion of points on the combined surface. The problem is most apparent when one considers the areas of xe2x80x9cblendxe2x80x9d between constituent surface elements, i.e., where the points being considered are on none of the consistent surfaces.
The inability to determine the motion of specific points on the surface can be a serious (fatal) hindrance to doing computer animation with implicit surfaces with certain important and widely used rendering systems. In particular, to incorporate motion blur in a micropolygon render, e.g., the REYES architecture as implemented in Pixar""s Photo-Realistic Renderman(copyright), one most be able to calculate the change in position of micropolygon vertices during the time in which the fictional camera shutter is open.
A solution to the problem of determining the motion of particular identified points on a surface defined by the equipotentials of an arbitrary computable combination of scalar fields is therefore required in order to fully utilize implicit surface modeling techniques in high quality computer animation.
The present invention allows for rendering, with a nicropolygon renderer, motion blurred images of objects modeled and animated with the most commonly used class of implicit surfaces (i.e., those formed as a combination of constituent elements for which one is able to specify the motion). The invention introduces the technique of automatic implicit differentiation to automatically compute the time derivatives of points on the combined surface from the time derivatives of the constituent surface elements (which must be supplied by the animator) while evaluating the combined field function that defines the composite surface.